/**
 *打印对象的方法及属性，可用于学习、开发
 */ 
var ObjectUtil = {
	//打印出o对象所有方法
	allMethods : function(o){
		var i = 0;
		if(o != null){
			for( var m in o){
				if(typeof(o[m]) == 'function'){
					i ++;
					console.log('\t' + m + '(...)');
				}
			}
			if(i == 0){
				console.log('\tobject have no method');
			}
		}else{
			console.log('\tobject is null');
		}
	},
	//打印出o对象所有属性
	allAttributes : function(o){
		if(o != null){
			var i = 0;
			for( var a in o){
				//console.log('typeof o[a]:' + (typeof o[a]) + '---' + a + ':o[a]:' + o[a]);
				if(typeof(o[a]) != 'function'){
					i ++;
					console.log('\t' + a);
				}
			}
			if(i == 0){
				console.log('\tobject have no attribute');
			}
		}else{
			console.log('\tobject is null');
		}
	},
	//打印出o对象所有成员
	allMembers : function(o){
		if(o != null){
			var i = 0;
			for(var m in o){
				if(typeof(o[m]) == 'function'){
					i ++;
					console.log('\t' + m + '(...)');
				}
			}
			for( var a in o){
				if(typeof(o[a]) != 'function'){
					i ++;
					console.log('\t' + a);
				}
			}
			if(i == 0){
				console.log('\tobject have no member');
			}
		}
	}
}

module.exports = ObjectUtil;